package main

import (
	maker2 "api/libs/maker"
	"gitee.com/dreamwood/ez-maker/maker"
)

func main() {
	maker2.Prepare()
	Page()
	Api()
	Model()
}

// 页面级别的权限
func Page() {
	c := maker.CreateTable("Page", "页面权限", "auth")

	c.AddText("appId", "APPID")
	c.AddText("name", "权限名称")
	c.AddText("route", "路由路径")
	c.AddText("icon", "图标")
	//page整体页面路由，func局部功能权限
	c.AddText("type", "权限类型").SetDesc("model模块,dir目录,page整体页面路由，func局部功能权限")
	//权限状态
	c.AddState().SetDesc("0：待定待处理，可能为自动生成并提交的页面,1确定使用的页面")
	//添加角色反向映射关系
	c.AddManyToMany("roles", "归属角色", "Role").SetIsControl(false)

	//载入分类树模型
	c.LoadTree()
	c.AddOneToMany("children", "子集", "Page").SetFk("parentId")

	c.Generate()
}

// 接口级别的权限
func Api() {
	c := maker.CreateTable("Api", "接口权限", "auth")

	c.AddText("appId", "APPID")
	c.AddText("name", "权限名称")
	c.AddText("api", "接口地址")
	//添加角色反向映射关系
	c.AddManyToMany("roles", "归属角色", "Role").SetIsControl(false)

	//载入分类树模型
	c.LoadTree()

	c.Generate()
}

// 模型级别的权限
func Model() {
	c := maker.CreateTable("Model", "模型权限", "auth")

	c.AddText("appId", "APPID")
	c.AddText("name", "模块名")
	c.AddText("cnName", "模块名")
	c.AddText("icon", "图标")
	//前端相关数据
	c.AddText("index", "模块首页")
	c.AddText("entry", "前端入口")
	c.AddText("login", "登录地址").SetDesc("第三方框架的介入，静默登录地址")
	//添加角色反向映射关系
	c.AddManyToMany("roles", "归属角色", "Role").SetIsControl(false)
	//载入分类树模型
	c.LoadTree()
	c.AddOneToMany("children", "子集", "Model").SetFk("parentId")

	c.Generate()
}
